#ifndef VGPLib_h
#define VGPLib_h

#include <GLES2/gl2.h>


class VGPLib
{	
private:
	//start to paint 2D
	void StartGraphics2D();
	//finish paint 2D
	void EndGraphics2D();

	static VGPLib* vgplib;

public:

	//Transaction for sprite
	static const int FREE_ROT = 0;
	static const int FLIP_X = 1 << 0;
	static const int FLIP_Y = 1 << 1;
	static const int ROT_90 = 1 << 2;

	//anchor
	static const int TOP = 1 << 0;
	static const int LEFT = 1 << 1 ;
	static const int RIGHT = 1 << 2 ;
	static const int BOTTOM = 1 << 3 ;
	static const int CENTER = 1 << 4 ;

		
	VGPLib();
	~VGPLib();

	static VGPLib* GetVGPLib();

	//draw image with: (x, y, w, h) on screen at (sx, sy, sw, sh), scale and with flag: FLIP_X, FLIP_Y, ROT_90
	//scale 0 - 100
	//void PaintImage(int x, int y, int w, int h, int sx, int sy, int sw, int sh, int flag, int scale, GLuint textureID, int widthImage, int heightImage);	
	
	//draw image with: (x, y, w, h) on screen at (sx, sy, sw, sh) and with flag: FLIP_X, FLIP_Y, ROT_90
	void PaintImage(int x, int y, int w, int h, int sx, int sy, int sw, int sh, int flag, GLuint textureID, int widthImage, int heightImage);	
	
	//Draw rangtangle to debug touch
	void PaintRectangle(int x, int y, int w, int h, int flag);
	void PaintRectangle(int x, int y, int w, int h);

	//convert number to string ( char*
	char* ConvertNumberToString ( int a );		
};

#endif